﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>access properties of class from NDK</title>
<meta name="GENERATOR" content="WinCHM">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body>
<P><FONT face=Arial size=2 color=#ff0000>tức là từ một 
function ( hay&nbsp;gọi là method cũng&nbsp;được&nbsp;) của NDK truy cập đến một 
properties của class chưa nó ???</FONT></P>
<H2 
style="WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: 'Times New Roman'; WHITE-SPACE: normal; LETTER-SPACING: normal; FONT-VARIANT: normal; orphans: 2; widows: 2; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px">Accessing Java Fields<BR><A 
href="http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/field.html">http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/field.html</A> 
 </H2><FONT size=2><U><FONT size=2>
<P align=left>JNIEXPORT jint</U> JNICALL 
<B>Java_com_marakana_NativeLib_add</B>(JNIEnv * env, jobject r, jint value1, 
jint value2) {</P>
<P align=left>jclass rectClass=(*env)-&gt;GetObjectClass(env,r);</P>
<P align=left></P></FONT><FONT color=#3f7f5f size=2>
<P align=left>// jfieldID <U>fid</U> = 
(*<U>env</U>)-&gt;GetStaticFieldID(<U>env</U>, rectClass, "left", 
"I");</P></FONT><FONT size=2>
<P align=left></P>
<P align=left>jfieldID fid=(*env)-&gt;GetFieldID(env,rectClass,</FONT><FONT 
color=#2a00ff size=2>"left"</FONT><FONT size=2>,</FONT><FONT color=#2a00ff 
size=2>"I"</FONT><FONT size=2>);</P>
<P align=left>jint l = (*env)-&gt;GetIntField(env,rectClass,fid);</P>
<P align=left></FONT><FONT color=#3f7f5f size=2>//now, change the left 
value</P></FONT><FONT size=2>
<P align=left>l+=20;</P>
<P align=left>(*env)-&gt;SetIntField(env,rectClass,fid,l);</P>
<P align=left></P>
<P align=left>&nbsp;</P>
<P align=left></FONT><FONT color=#3f7f5f size=2>//return value1 + 
value2;</P></FONT><FONT size=2>
<P align=left></FONT><B><FONT color=#7f0055 size=2>int</B></FONT><FONT size=2> a 
= value1;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>int</B></FONT><FONT size=2> b 
= value2;</P>
<P align=left></FONT><B><FONT color=#7f0055 size=2>return</B></FONT><FONT 
size=2> a + b + l;</P>
<P>}</P>
<P><FONT color=#ff0000>vấn đề ở đây là nó lấy ra lần đầu tiên luôn có giá trị = 
0 ( dù&nbsp;đã&nbsp;gán trước&nbsp;đó&nbsp;)<BR>ở ngoài mà thay đổi thì lại bị 
quay về 0<BR>khởi tạo rồi , khởi tạo khác luôn truy cập vào thằng cũ </FONT></P>
<P>&nbsp;</P></FONT></FONT><FONT size=2></FONT></body>
</html>
